Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

introduce more optional features to slim down required dependency graph #254

Merged
merged 2 commits into from
Oct 12, 2022

Conversation

HookedBehemoth
Copy link
Contributor

@HookedBehemoth HookedBehemoth commented Mar 4, 2022

This introduces the feature flags: logging, assets, post, session.

The goal was to slim down required dependencies in my application and the categories were chosen to make an impact on that.
Updated tiny_http to get rid of a hard chrono requirement.

A simple hello world with default-features = false goes from 96 to 44 dependencies and total build time in release from 30s to 15s.

@HookedBehemoth
Copy link
Contributor Author

Rebased the PR to resolve conflicts. Updating tiny_http also replaces the time dependency but leads to some complication with backwards compatibility.

@bradfier
Copy link
Collaborator

Thanks Hooked, I have a partially complete branch updating us to tiny-http 0.12, the breaking change (which I merged, so I have no excuse not to know about it) is part of supporting Unix sockets - the existing library makes a bunch of assumptions which need to be refactored into Options, and the consuming code needs updated to handle that.

@bradfier bradfier merged commit f66e371 into tomaka:master Oct 12, 2022
@CryZe
Copy link

CryZe commented Oct 12, 2022

Moving code behind features that were previously included in default-features = false is a breaking change. There's an RFC to resolve this, but at least at the moment 3.6.0 probably shouldn't have been released like this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants